package com.hhh.petadopt.serviceImpl;

import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hhh.petadopt.mapper.AdminPetMapper;
import com.hhh.petadopt.pojo.Pet;
import com.hhh.petadopt.pojo.PetPage;
import com.hhh.petadopt.pojo.PetVo;
import com.hhh.petadopt.service.AdminPetService;
import com.hhh.petadopt.utils.IDUtils;
import com.hhh.petadopt.utils.Page;
/**
 * 动物管理
 * @author 杜镇声声
 *
 */
@Service
public class AdminPetServiceImpl implements AdminPetService {
	
	@Autowired
	private AdminPetMapper adminpetmapper;
	
	//动物信息无条件分页返回
	@Override
	public Page<Pet> selectPage(PetPage vo) {
		//将分页的内容进行封装
				Page<Pet> page = new Page<Pet>();
				//设置每页显示的条数
				page.setSize(10);
				vo.setSize(10);
				if(null != vo) {
					if(null != vo.getPage()) {
						//设置当前页
						page.setPage(vo.getPage());
						//设置起始页
						vo.setStartRow((vo.getPage()-1)*vo.getSize());
					}
					//查询总条数,将结果进行封装
					page.setTotal(adminpetmapper.selectCount());
					//封装当前页显示的内容
					page.setRows(adminpetmapper.selectAllPets(vo));
				}
				return page;
		
	}

	//分页显示
	@Override
	public Page<Pet> selectPage(PetVo vo) {
		//创建page对象
		Page<Pet> page = new Page<Pet>();
		//设置当前页显示的条数
		page.setSize(10);
		vo.setSize(10);
		if(null != vo) {
			//设置当前页
			if(null != vo.getPage()) {
				page.setPage(vo.getPage());
				//设置起始页
				vo.setStartRow((vo.getPage()-1)*vo.getSize());
			}
			if(null != vo.getNumm() && !"".equals(vo.getNumm())) {
				vo.setNumm(vo.getNumm());
			}
			if(null != vo.getAgee() && !"".equals(vo.getAgee().trim())) {
				vo.setAgee(vo.getAgee().trim());
			}
			if(null != vo.getSexx() && !"".equals(vo.getSexx().trim())) {
				vo.setSexx(vo.getSexx().trim());
			}
			if(null != vo.getSts() && !"".equals(vo.getSts().trim())) {
				vo.setSts(vo.getSts().trim());
			}
			//查询符合条件的总条数，将条数进行封装
			page.setTotal(adminpetmapper.selectTotal(vo));
			//查询符合条件的当前页内容
			page.setRows(adminpetmapper.selectPetsByVo(vo));
			
		}
		return page;
	}

	//添加宠物
	@Override
	public void addPett(Pet pet) {
		//封装还没有的数据
		long ids = IDUtils.genItemId();
		String id = String.valueOf(ids).substring(6);
		pet.setId(Long.valueOf(id));
		
		pet.setCreated(new Date());
		pet.setUpdated(new Date());
		//执行插入操作
		adminpetmapper.addPett(pet);
		//添加宠物的同时,把动物的描述，添加到desc表
		adminpetmapper.addPetDesc(pet);
	}

	//编辑页面信息回显
	@Override
	public Pet selectPett(Integer id) {
		Pet pet = adminpetmapper.selectPet(id);
		String descr = adminpetmapper.selectDescById(id);
		pet.setPdesc(descr);
		return pet;
	}

	//更新动物信息
	@Override
	public void updatePett(Pet pet) {
		//补全信息
		pet.setCreated(new Date());
		pet.setUpdated(new Date());
		//执行操作
		adminpetmapper.updatePett(pet);
		adminpetmapper.updateDesc(pet);
		
	}

	//根据id删除动物信息
	@Override
	public void deletePetById(Integer id) {
		//执行操作
		adminpetmapper.deletePetById(id);
		adminpetmapper.deleteDescById(id);
		
	}

	//删除多条记录
	@Override
	public void deletePets(Integer[] ids) {
		//执行操作
		adminpetmapper.deletePets(ids);
		adminpetmapper.deletePdesc(ids);
		
	}

	


}
